Conventional cable systems use “set-top boxes” to deliver services to customers. For example, a set-top box may be placed on top of or near a customer's television. The set-top box typically receives cable signals, decrypts the cable signals, and communicates the decrypted cable signals for presentation to the customer through the television.
To provide security, information in an internal memory of the set-top box is typically scrambled. This often makes it difficult to identify empty locations in the memory. For example, the internal memory often includes a non-volatile memory. This type of memory typically can be programmed in one direction, such as where bits set to one can be changed to zero but bits set to zero cannot be changed to one without erasing or resetting the memory location. To write a value to a location in the non-volatile memory, the set-top box typically erases the location by setting all bits to one. However, the scrambling and descrambling of the data in the memory makes it difficult to determine whether a particular memory location has already been erased. As an example, it is often difficult for the set-top box to determine whether all of the bits in the memory location have been set to one.